diff --git a/system/libraries/Calendar.php b/system/libraries/Calendar.php
index 3cbbbfe..23a6bf7 100644
--- a/system/libraries/Calendar.php
+++ b/system/libraries/Calendar.php
@@ -48,6 +48,7 @@
 	function CI_Calendar()
 	{		
 		$this->CI =& get_instance();
+		
 		if ( ! in_array('calendar_lang'.EXT, $this->CI->lang->is_loaded, TRUE))
 		{
 			$this->CI->lang->load('calendar');
@@ -56,7 +57,6 @@
 		$this->local_time = time();
 		log_message('debug', "Calendar Class Initialized");
 	}
-	// END CI_Calendar()
 	
 	// --------------------------------------------------------------------
 	
@@ -79,7 +79,6 @@
 			}
 		}
 	} 
-	// END initialize()
 	
 	// --------------------------------------------------------------------
 
@@ -241,7 +240,6 @@
 
 		return $out;
     }
-	// END generate()
 	
 	// --------------------------------------------------------------------
 
@@ -275,7 +273,6 @@
 
 		return $this->CI->lang->line($month);
 	}
-	// END get_month_name()
 	
 	// --------------------------------------------------------------------
  
@@ -315,7 +312,6 @@
 	
 		return $days;
 	}
- 	// END get_day_names()
  	
 	// --------------------------------------------------------------------
 
@@ -357,7 +353,6 @@
         
         return $date;
     }
- 	// END adjust_date()
  	
 	// --------------------------------------------------------------------
 
@@ -378,6 +373,7 @@
             return 0;
         }
         
+        // Is the year a leap year?
         if ($month == 2)
         {        
 			if ($year % 400 == 0 OR ($year % 4 == 0 AND $year % 100 != 0))
@@ -388,7 +384,6 @@
     
         return $days_in_month[$month - 1];
     }
-	// END get_total_days()
 	
 	// --------------------------------------------------------------------
 
@@ -426,7 +421,6 @@
 						'table_close' => '</table>'
 					);	
 	}
-	// END default_template()
 	
 	// --------------------------------------------------------------------
 
@@ -465,7 +459,6 @@
 			}
 		} 	
  	}
-	// END parse_template()
 
 }
 
